With the advancement in technology, the capabilities of mobile devices such as mobile phones, laptops, personal digital assistants (PDAs) and the like are highly enhanced. This enables service providers to extend various services like call forwarding, voicemail, etc. to its subscribers who use such devices. A subscriber may subscribe to one or more of these services to ensure, for example, that phone calls or messages are not missed during the subscriber's unavailability. For example, a subscriber/user may not be available to receive a call when in a meeting and may therefore subscribe to call forwarding service offered by the service provider. The unavailability of the user may either be tracked or, where applicable, defined by the user to set their communication preferences.
Several solutions have been proposed in the art to set communication preferences of a user during their unavailability. In accordance with one proposed solution, a user's availability or willingness to answer or attend a call can be shared with the caller using the concept of ‘presence’. For example, in SIP (Session Initiation Protocol) telephony, the SIP presence information of a user may be tracked in connection with their activity on a computer terminal to indicate availability/unavailability. The call may then be routed using the SIP presence information. For example, a call placed to a user's SIP telephone when the presence status of that user is ‘away’, may be redirected to the user's mobile phone by the SIP network. Alternatively, the user may manually update their current presence which can then be used to define their communication preference.
In accordance with another proposed solution, the information of user activity on a networked computing device on which a user is logged on is utilized to update the user's presence status. The presence status is determined by monitoring various kinds of user activities on the user device such as the user's activity on a productivity program, such as a word processor, or on an application that performs or monitors telephony activity. The former activity would result in a status such as “Online” while the latter activity would result in a status such as “On the Phone” for the monitored users. Presence indicators are now also being extended by leveraging the user's schedule, for example, their Calendar in Microsoft® Outlook®, to refine their presence status. When the user's Calendar indicates that they are in a meeting, their presence status, when linked to the Calendar, is changed to a status such as ‘Busy’. The appropriate presence status may then be published to a presence server. The published presence status may cause, for example, a telephone call placed to a user's regular (land-line) telephone to be routed to the user's mobile telephone.
Another known solution uses installed infrastructure for tracking user devices. In this solution, installed wireless devices such as Bluetooth devices are used to track and determine the location of a user device. Alternately, other tracking mechanisms such as GPS can be used to track a user device. The tracking and location data thus gathered is stored at a central location and used for updating user presence status. The user device in this solution does not generate or update presence information, and neither can it modify its own functionality or communication handling preferences such as call redirections.
Thus, the above proposed solutions are either scheduled/logged-in based implementations for updating the presence information of a user or use an installed infrastructure for tracking a user device for dynamic presence status updates. In addition, most known solutions are not directed toward a user's device dynamically updating the user's presence information when, for example, either the user moves from one location to another or when the surrounding wireless environment of the user changes. Similarly, in most known solutions, a user device does not update the presence status depending on a user's location inside a building or depending on whom they are occupying that space with. Thus, an incorrect presence status would be available for a user engaged in an ad-hoc hallway meeting or, for example, when a user needs to change conference rooms for a meeting because their originally scheduled room is unavailable. As a result, impromptu meetings can be interrupted by unwanted telephone calls and/or, in a corporate environment, team members may have difficulty finding the user whose presence is required.
Some proposed solutions track the user's location to update the presence status. These solutions propose to infer the user's location at any point of time based on the known wireless networks detected at the user device at that point of time. The user device may be programmed to update that user's status information as well as mode settings of the user's device depending on the particular wireless network(s) detected. However, in practice, location information inferred using only information about the wireless networks in range is often inaccurate. For example, there may be a wireless network available at the entrance/exit gate of a building, and mobile devices may be configured to toggle their “inside the building”/“outside the building” location state whenever this wireless network is detected. However, the user of the mobile device may walk up from inside the building to the gate to, for example, receive someone at the reception of the building, and then return back and remain in the building. In this case, the user's mobile device may erroneously infer that the user has exited the building. Such erroneous inferences may increase manifold in cases where there may be, for example, a meeting room or a cafeteria close to the exit of the building.
In addition, known solutions use presence information locally, and none of the known solutions propose to update the presence information to a remote server for managing telecommunications for the user. Further, in known solutions, location and corresponding updates to presence information or device mode are inferred using known wireless networks only. None of the known solutions proposes a way of managing user presence or device mode while the device is near unrecognized wireless networks. Lastly, according to known solutions, the behavior of the user device while it is near a known wireless network is statically configured. For example, the user device may be programmed to update the user presence to “busy” and device mode to “silent” whenever a wireless network known to designate a meeting room is in range. None of the known solutions propose a way to dynamically reprogram such device behavior based on the particular requirement at that time.
Thus, there is a need for an improved system and method in which a user device can dynamically fine tune the presence, capabilities and identity information of a mobile device by taking into account the user's environmental conditions and location.